import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

# 读取CSV文件
df = pd.read_csv('combined_table.csv')
sys_dict_data = pd.read_csv('data/sys_dict_data.csv')
khxd = pd.read_csv('data/ERP_KHXD.csv')

# 提取年份信息
df['year'] = pd.to_datetime(df['create_time']).dt.year

# 筛选出2023年的数据
df_2023 = df[df['year'] == 2023]

# 查找dict_type列中值为ERP_HPLX的行
result_1 = sys_dict_data[sys_dict_data['dict_type'] == 'ERP_HPLX']
print(result_1)
print("\n")

# 统计hplx列中值为1和0的数量
count_1 = df_2023['hplx_x'].value_counts()[1]
count_0 = df_2023['hplx_x'].value_counts()[0]

print(f"2023年矿粉的订单数：{count_1}")
print(f"2023年水泥的订单数：{count_0}")
print("\n")

# 绘制饼图
labels = ['矿粉', '水泥']
sizes = [count_1, count_0]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('2023年矿粉和水泥订单数比例')
plt.show()

# 统计2023年矿粉的总吨数
mineral_powder_total = df_2023[df_2023['hplx_x'] == 1]['fhdw'].sum()

# 统计2023年水泥的总吨数
cement_total = df_2023[df_2023['hplx_x'] == 0]['fhdw'].sum()

print(f"2023年矿粉的总吨数：{mineral_powder_total}")
print(f"2023年水泥的总吨数：{cement_total}")
print("\n")

# 绘制饼图
labels = ['矿粉', '水泥']
sizes = [mineral_powder_total, cement_total]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('2023年矿粉和水泥总吨数比例')
plt.show()

# 查找dict_type列中值为ERP_CPPP的行
result_2 = sys_dict_data[sys_dict_data['dict_type'] == 'ERP_CPPP']
print(result_2)
print("\n")

海螺水泥 = df_2023['cppp_x'].value_counts()[0]
东方希望水泥 = df_2023['cppp_x'].value_counts()[1]
三峡水泥 = df_2023['cppp_x'].value_counts()[2]
娲石水泥 = df_2023['cppp_x'].value_counts()[5]
华新水泥 = df_2023['cppp_x'].value_counts()[7]
金盛兰矿粉 = df_2023['cppp_x'].value_counts()[8]
武新矿粉 = df_2023['cppp_x'].value_counts()[9]
嘉华矿粉 = df_2023['cppp_x'].value_counts()[12]

print(f"2023年海螺水泥的订单数量：{海螺水泥}")
print(f"2023年东方希望水泥的订单数量：{东方希望水泥}")
print(f"2023年三峡水泥的订单数量：{三峡水泥}")
print(f"2023年娲石水泥的订单数量：{娲石水泥}")
print(f"2023年华新水泥的订单数量：{华新水泥}")
print(f"2023年金盛兰矿粉的订单数量：{金盛兰矿粉}")
print(f"2023年武新矿粉的订单数量：{武新矿粉}")
print(f"2023年嘉华矿粉的订单数量：{嘉华矿粉}")
print("\n")

# 可视化水泥品牌数量
plt.figure(figsize=(10, 6))
sns.barplot(x=['海螺水泥', '东方希望水泥', '三峡水泥', '娲石水泥', '华新水泥'], y=[海螺水泥, 东方希望水泥, 三峡水泥, 娲石水泥, 华新水泥])
plt.title('2023年水泥品牌订单数量')
plt.xlabel('水泥品牌')
plt.ylabel('订单数量')
plt.show()

# 可视化矿粉品牌数量
plt.figure(figsize=(10, 6))
sns.barplot(x=['金盛兰矿粉', '武新矿粉', '嘉华矿粉'], y=[金盛兰矿粉, 武新矿粉, 嘉华矿粉])
plt.title('2023年矿粉品牌订单数量')
plt.xlabel('矿粉品牌')
plt.ylabel('订单数量')
plt.show()

#各品牌发货吨位
海螺_total = df_2023[df_2023['cppp_x'] == 0]['fhdw'].sum()
东方_total = df_2023[df_2023['cppp_x'] == 1]['fhdw'].sum()
三峡_total = df_2023[df_2023['cppp_x'] == 2]['fhdw'].sum()
娲石_total = df_2023[df_2023['cppp_x'] == 5]['fhdw'].sum()
华新_total = df_2023[df_2023['cppp_x'] == 7]['fhdw'].sum()
金盛兰_total = df_2023[df_2023['cppp_x'] == 8]['fhdw'].sum()
武新_total = df_2023[df_2023['cppp_x'] == 9]['fhdw'].sum()
嘉华_total = df_2023[df_2023['cppp_x'] == 12]['fhdw'].sum()

print(f"2023年海螺水泥的总吨数：{海螺_total}")
print(f"2023年东方希望水泥的总吨数：{东方_total}")
print(f"2023年三峡水泥的总吨数：{三峡_total}")
print(f"2023年娲石水泥的总吨数：{娲石_total}")
print(f"2023年华新水泥的总吨数：{华新_total}")
print(f"2023年金盛兰矿粉的总吨数：{金盛兰_total}")
print(f"2023年武新矿粉的总吨数：{武新_total}")
print(f"2023年嘉华矿粉的总吨数：{嘉华_total}")
print("\n")

# 绘制水泥品牌发货吨位柱状图
cement_brands = ['海螺水泥', '东方希望水泥', '三峡水泥', '娲石水泥', '华新水泥']
cement_totals = [海螺_total, 东方_total, 三峡_total, 娲石_total, 华新_total]

plt.figure(figsize=(10, 6))
sns.barplot(x=cement_brands, y=cement_totals)
plt.title('2023年水泥品牌发货吨位')
plt.xlabel('水泥品牌')
plt.ylabel('发货吨位')
plt.show()

# 绘制矿粉品牌发货吨位柱状图
mineral_powder_brands = ['金盛兰矿粉', '武新矿粉', '嘉华矿粉']
mineral_powder_totals = [金盛兰_total, 武新_total, 嘉华_total]

plt.figure(figsize=(10, 6))
sns.barplot(x=mineral_powder_brands, y=mineral_powder_totals)
plt.title('2023年矿粉品牌发货吨位')
plt.xlabel('矿粉品牌')
plt.ylabel('发货吨位')
plt.show()

#各品牌货款
海螺_hk = df_2023[df_2023['cppp_x'] == 0]['hk'].sum()
东方_hk = df_2023[df_2023['cppp_x'] == 1]['hk'].sum()
三峡_hk = df_2023[df_2023['cppp_x'] == 2]['hk'].sum()
娲石_hk = df_2023[df_2023['cppp_x'] == 5]['hk'].sum()
华新_hk = df_2023[df_2023['cppp_x'] == 7]['hk'].sum()
金盛兰_hk = df_2023[df_2023['cppp_x'] == 8]['hk'].sum()
武新_hk = df_2023[df_2023['cppp_x'] == 9]['hk'].sum()
嘉华_hk = df_2023[df_2023['cppp_x'] == 12]['hk'].sum()

print(f"2023年海螺水泥的总货款：{海螺_hk}")
print(f"2023年东方希望水泥的总货款：{东方_hk}")
print(f"2023年三峡水泥的总货款：{三峡_hk}")
print(f"2023年娲石水泥的总货款：{娲石_hk}")
print(f"2023年华新水泥的总货款：{华新_hk}")
print(f"2023年金盛兰矿粉的总货款：{金盛兰_hk}")
print(f"2023年武新矿粉的总货款：{武新_hk}")
print(f"2023年嘉华矿粉的总货款：{嘉华_hk}")
print("\n")

# 绘制水泥品牌货款柱状图
cement_brands = ['海螺水泥', '东方希望水泥', '三峡水泥', '娲石水泥', '华新水泥']
cement_hks = [海螺_hk, 东方_hk, 三峡_hk, 娲石_hk, 华新_hk]

plt.figure(figsize=(10, 6))
sns.barplot(x=cement_brands, y=cement_hks)
plt.title('2023年水泥品牌货款')
plt.xlabel('水泥品牌')
plt.ylabel('货款')
plt.show()

# 绘制矿粉品牌货款柱状图
mineral_powder_brands = ['金盛兰矿粉', '武新矿粉', '嘉华矿粉']
mineral_powder_hks = [金盛兰_hk, 武新_hk, 嘉华_hk]

plt.figure(figsize=(10, 6))
sns.barplot(x=mineral_powder_brands, y=mineral_powder_hks)
plt.title('2023年矿粉品牌货款')
plt.xlabel('矿粉品牌')
plt.ylabel('货款')
plt.show()